1. Field of the Invention
The present invention relates to color data processing by which a color printer prints color data using Y (Yellow), M (Magenta), C (Cyan), K (blacK) colors, and a control program and memory medium therefor.
2. Related Background Art
FIG. 1 is a block diagram showing the arrangement of a system having a host computer and a color printer such as a color laser beam printer. Referring to FIG. 1, host computer 101 is connected to color laser beam printer control unit 100 (shown by broken line) in the color laser beam printer via an unnumbered connecter. Control unit 100 receives both commands (for example, a paper eject command) and data (for example, Red, Green and Blue data or black-and-white data) from host computer 101, and processes the commands and data so as to cause an unnumbered print engine to print via print engine interface 105.
CPU 103 controls the entire control unit 100. Reception buffer 102 temporarily stores received information including commands and data and so forth received from host computer 101. Program ROM 104 stores a control program shown by flow chart in FIG. 2, rendering program 108 (a rendering process in step S205 in FIG. 2) and color converting program 109 (a converting process in step S204 in FIG. 2). Font ROM 106 stores character fonts to make character images. RAM 101 is used as a work area to store converted YMCK data and so on while the program is operating and image storage area 110 to store an image. Print unit 105 outputs YMCK image to the color printer engine. Furthermore, a system power supply (not shown) supplies power to control unit 100.
An operation of color laser beam printer control unit 100 shown in FIG. 1 will be described with reference to the flow chart shown in FIG. 2.
FIG. 2 is a conventional flow chart showing the flow of color convert processing in color laser beam printer control unit 100. The process steps shown in FIG. 2 are stored program process steps that are stored in a computer readable memory medium, in this case in program ROM 104.
In step S201, in response to initial applications of power, CPU 103 initializes image storage area 110. In step S202, CPU 103 reads received information in single unit codes from reception buffer 102, which stores commands and data received from host computer 101. In step S203, CPU 103 determines if the read information is a paper eject command. If it is determined in step S203 that the read information is not a paper eject command, or some other type of command, CPU 103 determines that the read information is data and converts the data into image data for use by the printer engine. Where the data is RGB color data, CPU 103 converts the RGB data into YMCK data as color space of the color printer engine using the color converting program 109 in step S204.
The color convert process to convert R (red), G (green), B (blue) data into YMCK data, is executed using the 4xc3x973 matrix as follows.       [                            Y                                      M                                      C                                      K                      ]    =            [              4        xc3x97        3        ⁢                  xe2x80x83                ⁢        matrix            ]        ⁢          xe2x80x83        [                            R                                      G                                      B                      ]  
Further, if it is determined that the read data is black-and-white data, the black-and-white data is converted into YMCK data by converting the black-and-white data into K data only and by setting the YMC data to 0 in step S204.
In step S205, CPU 103 renders an image based on YMCK data converted in step S204 using rendering program 108, stores the image by color in image storage ares 110 and flow returns to step S202 to receive new information.
On the other hand, if it is determined in step S203 that the information is a paper eject command, CPU 103 outputs the rendered YMCK image in image storage area 110 to print unit interface 105 to print the YMCK image. The color laser beam printer engine prints YMCK image using Y (Yellow), M (Magenta), C (Cyan) and K (blacK) color toner.
In the above case, even if host computer 101 sends RGB data for a pure gray color in which the RGB components are equal (Red=Green=Blue), the RGB data will be converted into YMCK data. Thus, the gray color is expressed by mixed YMCK data. This causes a sense of incongruity as compared to the case where black color is expressed by K (black) data only.
In addition, black-and-white data is converted into YMCK data by converting the black-and-white data into K (black) data only and by setting the Y,M,C data to 0 (zero) in step S204.
This causes a problem that size of the converted black-and-white data (intermediate data) becomes four times as large as needed since the Y, C and M components are zero. The converted black-and-white data is stored in work area in RAM 101. And then image is rendered based on the converted black-and-white data.
The present invention has been made in consideration of the above circumstances, and provides a color data processing apparatus, a method of controlling a process of converting color data, and/or a memory medium storing a controlling program, which discriminates the type of a received data, and which executes, based on the discriminated type of received data, a first process to convert the received data into Y (yellow), M (magenta), C (cyan) and K (black) color data, or an second process to convert the received data into K data.
In preferred embodiment of the invention, when the received data is color data for R (red), G (green) and B (blue) colors, and the color data for the R, G and B colors have equal or substantially equal values, the executing means executes the second process to convert the received data into K data, thereby rendering an image based on data converted by the second process.
Likewise, when the received data is color data for R, G and B colors, and the color data for the R, G and B colors do not have equal or substantially equal values, the executing means executes the first process to convert YMCK data, thereby rendering an image based on data converted by the first process.
It is also preferable, when the received data is black-and-white data, the executing means executes the second process to render an image based on data converted by the second process.
Likewise, when the received data is not black-and-white data, the executing means executes the first process to render an image based on data converted by the first process.
In particularly preferred embodiments, when the executing means renders an image based in data converted by the second process the executing means also sets values for Y, M and C data identically to 0.
Further objects, features and advantages of the present invention will become apparent from the following detailed description of the embodiments of the present invention with reference to the accompanying drawings.